home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / dtrsyl.z / dtrsyl
Text File  |  1998-10-30  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDTTTTRRRRSSSSYYYYLLLL((((3333FFFF))))                                                          DDDDTTTTRRRRSSSSYYYYLLLL((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DTRSYL - solve the real Sylvester matrix equation
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      SUBROUTINE DTRSYL( TRANA, TRANB, ISGN, M, N, A, LDA, B, LDB, C, LDC,
  13.                         SCALE, INFO )
  14.  
  15.          CHARACTER      TRANA, TRANB
  16.  
  17.          INTEGER        INFO, ISGN, LDA, LDB, LDC, M, N
  18.  
  19.          DOUBLE         PRECISION SCALE
  20.  
  21.          DOUBLE         PRECISION A( LDA, * ), B( LDB, * ), C( LDC, * )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      DTRSYL solves the real Sylvester matrix equation:
  25.  
  26.         op(A)*X + X*op(B) = scale*C or
  27.         op(A)*X - X*op(B) = scale*C,
  28.  
  29.      where op(A) = A or A**T, and  A and B are both upper quasi- triangular. A
  30.      is M-by-M and B is N-by-N; the right hand side C and the solution X are
  31.      M-by-N; and scale is an output scale factor, set <= 1 to avoid overflow
  32.      in X.
  33.  
  34.      A and B must be in Schur canonical form (as returned by DHSEQR), that is,
  35.      block upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each 2-
  36.      by-2 diagonal block has its diagonal elements equal and its off-diagonal
  37.      elements of opposite sign.
  38.  
  39.  
  40. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  41.      TRANA   (input) CHARACTER*1
  42.              Specifies the option op(A):
  43.              = 'N': op(A) = A    (No transpose)
  44.              = 'T': op(A) = A**T (Transpose)
  45.              = 'C': op(A) = A**H (Conjugate transpose = Transpose)
  46.  
  47.      TRANB   (input) CHARACTER*1
  48.              Specifies the option op(B):
  49.              = 'N': op(B) = B    (No transpose)
  50.              = 'T': op(B) = B**T (Transpose)
  51.              = 'C': op(B) = B**H (Conjugate transpose = Transpose)
  52.  
  53.      ISGN    (input) INTEGER
  54.              Specifies the sign in the equation:
  55.              = +1: solve op(A)*X + X*op(B) = scale*C
  56.              = -1: solve op(A)*X - X*op(B) = scale*C
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDTTTTRRRRSSSSYYYYLLLL((((3333FFFF))))                                                          DDDDTTTTRRRRSSSSYYYYLLLL((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      M       (input) INTEGER
  75.              The order of the matrix A, and the number of rows in the matrices
  76.              X and C. M >= 0.
  77.  
  78.      N       (input) INTEGER
  79.              The order of the matrix B, and the number of columns in the
  80.              matrices X and C. N >= 0.
  81.  
  82.      A       (input) DOUBLE PRECISION array, dimension (LDA,M)
  83.              The upper quasi-triangular matrix A, in Schur canonical form.
  84.  
  85.      LDA     (input) INTEGER
  86.              The leading dimension of the array A. LDA >= max(1,M).
  87.  
  88.      B       (input) DOUBLE PRECISION array, dimension (LDB,N)
  89.              The upper quasi-triangular matrix B, in Schur canonical form.
  90.  
  91.      LDB     (input) INTEGER
  92.              The leading dimension of the array B. LDB >= max(1,N).
  93.  
  94.      C       (input/output) DOUBLE PRECISION array, dimension (LDC,N)
  95.              On entry, the M-by-N right hand side matrix C.  On exit, C is
  96.              overwritten by the solution matrix X.
  97.  
  98.      LDC     (input) INTEGER
  99.              The leading dimension of the array C. LDC >= max(1,M)
  100.  
  101.      SCALE   (output) DOUBLE PRECISION
  102.              The scale factor, scale, set <= 1 to avoid overflow in X.
  103.  
  104.      INFO    (output) INTEGER
  105.              = 0: successful exit
  106.              < 0: if INFO = -i, the i-th argument had an illegal value
  107.              = 1: A and B have common or very close eigenvalues; perturbed
  108.              values were used to solve the equation (but the matrices A and B
  109.              are unchanged).
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.